﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Inmobiliaria.Presenters.WFPresenters;
using Inmobiliaria.Presenters.ViewInterfaces;
using System.IO;
using Inmobiliaria.Exceptions;

public partial class PublicarParticularWF : System.Web.UI.Page, IView, IViewRegistroParticular
{
    private PubliqueParticularPresenter _presenter;

    protected void Page_Load(object sender, EventArgs e)
    {

        txtApellido.Focus();
        try
        {
            _presenter = new PubliqueParticularPresenter(this);
            if (!IsPostBack)
            {
                _presenter.InitView(Request.QueryString);
                Limpiar();
            }
        }
        catch (Exception ex)
        {
            ShowError(ex);
        }
    }
    protected void btnRegistrar_Click(object sender, EventArgs e)
    {
        try
        {
            _presenter.RegistroPersona();

        }
        catch (Exception ex)
        {
            ShowError(ex);
        }
    }
    protected void btnSiguiente_Click(object sender, EventArgs e)
    {
        HttpContext.Current.Response.Redirect("PublicarParticularInmueblesWF.aspx");
    }
    public void Limpiar()
    {
        txtApellido.Text = string.Empty;
        txtNombre.Text = string.Empty;
        txtEmail.Text = string.Empty;
        txtCodTelefono.Text = string.Empty;
        txtTelefono.Text = string.Empty;
        txtCodCelular.Text = string.Empty;
        txtCelular.Text = string.Empty;
        txtEmail2.Text = string.Empty;
    }
    #region IViewRegistroParticularWUC Members
    public void DeshabilitarCampos()
    {

        txtApellido.Enabled = false;
        txtNombre.Enabled = false;
        txtCodTelefono.Enabled = false;
        txtTelefono.Enabled = false;
        txtCodCelular.Enabled = false;
        txtCelular.Enabled = false;
        txtEmail.Enabled = false;
        txtEmail2.Enabled = false;
        btnRegistrar.Visible = false;
        btnSiguiente.Visible = true;
    }

    public string Apellido
    {
        get { return txtApellido.Text; }
    }
    public string Nombre
    {
        get { return txtNombre.Text; }
    }
    public string Email
    {
        get { return txtEmail.Text; }
    }
    public string Email2
    {
        get { return txtEmail2.Text; }
    }

    public string CodTelefono
    {
        get { return txtCodTelefono.Text; }
    }
    public string NumeroTelefono
    {
        get { return txtTelefono.Text; }
    }

    public string CodCelular
    {
        get { return txtCodCelular.Text; }
    }
    public string NumeroCelular
    {
        get { return txtCelular.Text; }
    }

    #endregion
    #region Mensajes

    public void ShowMessage(string message)
    {
        MostrarMensajeDialogo(Enumeraciones.TipoDeMensaje.Informacion, message);
    }
    public void Error(string message)
    {
        MostrarMensajeDialogo(Enumeraciones.TipoDeMensaje.Informacion, message);
    }
    public void ShowError(Exception ex)
    {
        if (ex is CustomException)
        {
            MostrarMensajeDialogo(Enumeraciones.TipoDeMensaje.Informacion, ex.Message);
        }
        else if (ex is ApplicationException)
        {
            MostrarMensajeDialogo(Enumeraciones.TipoDeMensaje.Informacion, ex.Message);
        }
        else
        {
            MostrarMensajeDialogo(Enumeraciones.TipoDeMensaje.Error, ex.Message);
        }
    }
    public void ShowQuestion(string message)
    {
    }
    private void MostrarMensajeDialogo(Enumeraciones.TipoDeMensaje tipoDeMensaje, string mensaje)
    {
        IMensajeDeDialogo mensajeDeDialogo = (IMensajeDeDialogo)this.Page.Master.FindControl("form1").FindControl("MensajeDeDialogo");
        Control mensajeR = this.Page.Master.FindControl("form1").FindControl("MensajeDeDialogo") as Control;
        if (mensajeR != null)
        {
            mensajeR.Visible = true;
        }
        mensajeDeDialogo.MostrarMensajeDialogo(tipoDeMensaje, mensaje);
    }
    #endregion

}